package zm.irc.ioc.classCollector;

import java.util.Collections;
import java.util.Set;

import com.mysql.cj.util.StringUtils;

import org.apache.commons.collections.CollectionUtils;

import zm.irc.ioc.pojo.ConfigurationCache;
import zm.irc.ioc.pojo.WrapClass;

public class ConfigurationEnrichment implements ClassEnrichment{
    /**
     * <pre>
     * 1. init cfiguration file.
     * </pre>
     */
    @Override
    public Set<WrapClass> enrich(Set<WrapClass> originalClasses) {
        if(CollectionUtils.isEmpty(originalClasses)){
            return Collections.emptySet();
        }
        for(WrapClass wrapClass : originalClasses){
            if( StringUtils.isEmptyOrWhitespaceOnly(wrapClass.getCfgFileName())){
                continue;
            }
            boolean isLocalCfg = wrapClass.isLocalCfg();
            if(isLocalCfg){
                ConfigurationCache.loadLocalCfg(wrapClass.getCfgFileName());
            }else{
                ConfigurationCache.loadCfg(wrapClass.getCfgFileName());
            }
            
        }

        return originalClasses;
    }
    

}
